package com.tensquare.user.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.annotation.Nullable;
import javax.validation.Valid;
import javax.validation.constraints.*;
import java.util.ArrayList;
import java.util.Date;
import java.io.Serializable;

/**
 * 用户(TbUser)实体类
 *
 * @author long
 * @since 2021-07-16 17:00:06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "tb_user")
public class TbUser implements Serializable {
    private static final long serialVersionUID = 658322548857776866L;
    /**
    * ID
    */
    private String id;
    /**
     * 账号
     */
//    @NotBlank(message = "账号不能为空")
    private String account;
    /**
    * 手机号码
    */
    private String mobile;
    /**
    * 密码
    */
//    @NotBlank(message = "密码不能为空")
    private String password;
    /**
    * 昵称
    */
    @NotBlank(message = "昵称不能为空")
    private String nickname;
    /**
    * 性别    1:男 0：女
    */
    @NotBlank(message = "性别不能为空")
    private String sex;
    /**
    * 出生年月日(yyyy-MM-dd)
    */
//    @NotBlank(message = "出生日期不能为空")
    private String birthday;
    /**
    * 头像
    */
    private String avatar;
    /**
    * E-Mail
    */
    @Email(message = "邮箱格式财务不能为空")
    private String email;
    /**
    * 注册日期
    */
    private Date regdate;
    /**
    * 修改日期
    */
    private Date updatedate;
    /**
    * 最后登陆日期
    */
    private Date lastdate;
    /**
    * 在线时长（分钟）
    */
    private Long online;
    /**
    * 兴趣
    */
    private String interest;
    /**
    * 个性
    */
    private String personality;
    /**
    * 粉丝数
    */
    private Integer fanscount;
    /**
    * 关注数
    */
    private Integer followcount;

    /**
     * 是否注销
     */
    private Integer isDelete;

    @TableField(exist = false)
    private ArrayList<TbRole> roles;

}
